package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * JDBC java数据库
 */
public class JDBCDemo1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        /**
         * jdbc操作数据库的大致步骤
         * 1.加载驱动
         * 2.使用驱动管理器调用驱动与数据库建立链接,得到Connection对象
         * 3.通过链接对象Connection创建语句对象Satement
         * 4.如果语句对象Satement执行sql语句
         * 5.如果执行的是SELECT语句,则会得到查询结果集ResultSet
         * 6.遍历结果集获取查询数据
         * 7.关闭数据库链接
         */
        //1.加载驱动,通过反射机制加载驱动类
        //加载MySQL驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //不同数据库url内容不完全一致,下面链接是mysql或maiadb的url
        //url的大致格式:jdbc:mysql://ip:port/数据库名?参数1=值1&参数2=值2

        //2.驱动管理器
        Connection connection =DriverManager.getConnection("jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
                "root",
                "root");
        //System.out.println(connection);
        System.out.println("链接数据库成功");

        //3.
        Statement statement=connection.createStatement();

        /**
         创建一张名为user的表
         create table user(
         id int primary key auto_increment,
         username varchar(30),
         password varchar(30),
         nickname varchar(30),
         age int(3)
         )
         */
        String sql="create table user(" +
                "id int primary key auto_increment," +
                "username varchar(30)," +
                "password varchar(30)," +
                "nickname varchar(30)," +
                "age int(3)" +
                ")";
        /**
         * boolean execute(String sql)
         * 用来执行sql语句的,任何种类的sql语句打扑克执行
         */
        statement.execute(sql);
        System.out.println("表创建成功");

        connection.close();

    }
}
